14. Análisis de Asociación de Variables Aleatorias#
En esta sección, se presentan tests para analizar
la asociación entre una v.a. continua y una v.a. categórica (ANOVA), o
la asociación entre variables aleatorias discretas o categóricas (Chi-cuadrado, Bowker).
14.1. Repaso (prueba de hipótesis)#
1) Revisamos la prueba de entrada sobre “Inferencia en Estadística Paramétrica”
2) ¿Cómo reportamos la prueba de t?
Se realizó una prueba t [de dos muestras o pareada] para comparar [variable de respuesta de interés] en [grupo 1] y [grupo 2]. Hubo [o no hubo] una diferencia significativa en [variable de respuesta de interés] entre [grupo 1] (M = [media], SD = [desviación estándar]) y [grupo 2] (M = [media], sd = [desviación estándar]), t(df) = [valor t], p = [valor p].
Pero hay flexibilidad en reportar la prueba. Por ejemplo:
Se realizó una prueba t [de dos muestras o pareada] para comparar [variable de respuesta de interés] en [grupo 1] y [grupo 2]. El [grupo 1] tuvo [variable de respuesta de interés] mayor [o menor] (M = [media], SD = [desviación estándar]) que los del [grupo 2] (M = [media], SD = [desviación estándar]), t(df) = [valor t], p = [valor p].
3) ¿Cómo es la tabla de decisión vs. estado real? ¿Qué es error de tipo I, nivel de significancia del test, potencia?
4) ¿Cómo es el test de medias para dos poblaciones normales con la misma varianza desconocida?
Test de medias para dos poblaciones normales con la misma varianza desconocida (caso común)
Sean \(X_1,\cdots,X_n\) e \(Y_1,\cdots,Y_m\) muestras independientes de poblaciones normales con medias desconocidas \(\mu_x\) y \(\mu_y\) y misma varianza desconocida \(\sigma^2\). Consideremos el test de hipótesis:
del Corolario del Teo de Fisher-Cochran se cumple:
donde
de manera que se rechaza \(H_0\) si
14.2. ¿Por qué ANOVA?#
¿Qué occure si tenemos 3, 5, o 10 grupos/modelos/métodos para comparar? ¿Qué problemas tendremos al utlizar t-tests?
En el caso en que se requiera comparar más de 2 grupos, el t-test se vuelve ineficiente, porque no queremos hacer un montón de t-tests para cada par.
Además, family-wise error rate (la tasa de error de la familia, error global) que es la probabilidad de cometer al menos un error de Tipo I en múltiples pruebas estadísticas realizadas en los mismos datos aumenta. Para \(c\) tests se calcula como:
con c=2 tests, el tasa de error de tipo I es 0.0975 (alrededor de 2*0.05=0.1)
con c=3 tests, el tasa de error de tipo I es 0.143 (alrededor de 3*0.05=0.15)
con c=10 tests, el tasa de error de tipo I es 0.40 (alrededor de 10*0.05=0.5)
Por lo tanto, es mejor abordar con el modelo del Análisis de la Varianza (ANOVA), o también llamado análisis de factores, para estudiar el efecto de uno o más factores (cada uno con dos o más niveles), o para comparar más de 2 grupos, sobre la media de una variable continua.
Si queremos hacer la comparación al mismo tiempo, ¿cómo sería el H0 si tenemos \(m\) grupos?
¿Qué distribución podemos utilizar?
14.3. Repaso (chi-cuadrado)#
14.3.1. La distribución chi-cuadrado#
Sean \(Z_1,\cdots, Z_n\, v.a. i.i.d. \, \sim {\it N}(0,1)\) entonces
donde \(n\) son los grados de libertad de la distribución.
Propiedades de la distribución \(\chi^2\):
(i) Propiedad aditiva:
Si \(X_1\) y \(X_2\) son dos v.a. independientes distribuidas \(\chi^2\) de \(n_1\) y \(n_2\) grados de libertad, entonces
\(X_1+X_2 \sim \chi_{n_1+n_2}^2\) (importante)
(ii) Esperanza y Varianza:
\( E[X]= n\) (importante)
\(Var[X]= 2n\)
suppressMessages(library(dplyr))
suppressMessages(library(plotly))
suppressMessages(library(ggplot2))
suppressMessages(library(rmarkdown))
vec <- seq(0,100,by=0.1)
params <- c(1:5, seq(10, 100, by=10))
pvec <- list()
for (i in 1:length(params)){
pvec[[i]] <- dchisq(vec,df=params[i],ncp=0)
}
steps <- list()
fig <- plot_ly(width=600,height=600) %>% layout(title = "\n \n Densidad de Probabilidad Chi-cuadrado", yaxis = list(range=c(0,0.3)))
for (i in 1:length(params)){
fig <- add_lines(fig, x=vec, y=pvec[[i]], visible=if (i==1) TRUE else FALSE, mode='lines', line=list(color='blue'), showlegend=FALSE)
steps[[i]] = list(args = list('visible', rep(FALSE, length(params))), label=params[i], method='restyle')
steps[[i]]$args[[2]][i] = TRUE
}
fig <- fig %>% layout(sliders = list(list(active=0, currentvalue = list(prefix = "df: "), steps=steps)))
fig
¿Qué sigue la distribución chi-cuadrado?
14.3.2. La distribución de la varianza (y media) muestral del caso Normal#
Teorema de Fisher-Cochran
Sean \(X_1,\cdots,X_n\) v.a. i.i.d. \({\cal N}(\mu,\sigma^2)\) entonces la media y varianza muestral cumplen:
\(\begin{equation} \begin{array}{lcll} (i) & \bar{X} &\sim& {\cal N}(\mu, \frac{\sigma^2}{n})\\ \\ (ii) & {\displaystyle \frac{(n-1)S^2}{\sigma^2}}& \sim& \chi_{n-1}^2 \text{ (<== enfoque en esta clase)}\\ \\ (iii)& \bar{X} &{\mathrel \perp} & S^2 \quad \text{(independentes)}\\ \end{array} \end{equation}\)
\(S^2\) es la varianza muestral. ¿Cuál es la diferencia con \(\sigma^2\)? Cómo calculamos \(S^2\)?
Por qué en \( {\displaystyle \frac{(n-1)S^2}{\sigma^2}} \sim \chi_{n-1}^2\), el grado de liberdad es \(n-1\)?
¿Cómo entendemos la segunda propiedad intuitivamente?
\(\begin{equation} \begin{array}{rll} {\displaystyle \frac{(n-1)\frac{1}{n-1}\sum_{i=1}^n (X_i-\bar{X})^2}{\sigma^2}} & \sim& \chi_{n-1}^2 \\ {\displaystyle \frac{\sum_{i=1}^n (X_i-\bar{X})^2}{\sigma^2}} & \sim & \chi_{n-1}^2 \\ \sum_{i=1}^n ({\displaystyle \frac{X_i-\bar{X}}{\sigma}} )^2 & \sim & \chi_{n-1}^2 \end{array} \end{equation}\)
¿Qué pasa si dividimos un chi-cuadrado por otro chi-cuadrado?
14.4. La distribución F#
Sean \(X \sim \chi_n^2\) e \(Y \sim \chi_m^2\) dos v.a. independientes \(\chi^2\) de grados de libertad \(n\) y \(m\) respectivamente, entoncese se define:
donde \(F_{n,m}\) es la distribución \(F\) de \(n\) y \(m\) grados de libertad. También se nota \(F(n,m)\).
vec <- seq(0,5,by=0.01)
params <- seq(1,20,by=1)
pvec <- list()
for (i in 1:length(params))
for (j in 1:length(params)){
k = length(params)*(i-1) + j
pvec[[k]] <- df(vec,df1=params[i],df2=params[j],ncp=0)
}
steps1 <- list()
steps2 <- list()
fig <- plot_ly(width=600,height=600) %>% layout(title = "\n \n Densidad de Probabilidad F(n, m)",
yaxis = list(range=c(0,1)))
for (i in 1:length(params)){
for (j in 1:length(params)){
k = length(params)*(i-1) + j
fig <- add_lines(fig, x=vec, y=pvec[[k]],
visible=if ((i==1) && (j==1)) TRUE else FALSE,
mode='lines', line=list(color='blue'), showlegend=FALSE)
steps2[[j]] = list(args = list('visible', rep(FALSE, length(params)*length(params))),
label=params[j], method='restyle')
steps2[[j]]$args[[2]][k] = TRUE
steps1[[i]] = list(args = list('visible', rep(FALSE, length(params)*length(params))),
label=params[i], method='restyle')
steps1[[i]]$args[[2]][k] = TRUE
}
}
fig <- fig %>% layout(sliders =
list( list(active=0, currentvalue = list(prefix = "df1 (n): "), pad = list(t=20), steps=steps1),
list(active=0, currentvalue = list(prefix = "df2 (m): "), pad = list(t=100), steps=steps2)))
fig
